#ifndef HANDLER_BASE_SERVICE_H
#define HANDLER_BASE_SERVICE_H

#include "lib\rpc\connection.pb.h"


#define BASE_SERVICE_DECL( p )			static VOID On##p( UserSession * pUserSession, MSG_BASE * pMsg, WORD wSize )
#define BASE_SERVICE_IMPL( p )			VOID BaseService::On##p( UserSession * pUserSession, MSG_BASE * pMsg, WORD wSize )
class UserSession;
class Service;
class BaseService : public Service
{
public:
	BaseService(DWORD dwIndex,const char* pstrDest)
	{   
		SetIndex(dwIndex);
		SetDest(pstrDest);
	}
	~BaseService(){}

	
	BASE_SERVICE_DECL(BaseBind);
	BASE_SERVICE_DECL(BaseConnect);
	BASE_SERVICE_DECL(BaseEcho);
	BASE_SERVICE_DECL(BaseEncrypt);
	BASE_SERVICE_DECL(BaseForceDisconnect);
	BASE_SERVICE_DECL(BaseRequestDisconnect);

};
#endif